home *** CD-ROM | disk | FTP | other *** search
- NOTE: I just received a new version of TP 6.0 in the mail from Borland. It
- was sent to me because I reported the TBufStream bug.
- It is still marked as TP 6.00, but is dated June 11, 1991. Many of
- the bugs below have been fixed, but not the TBufStream one!
- I haven't tested everything, but thought I'd release this now,
- because I'm not going to have time for exhaustive testing in
- the near future.
-
- This is the time of year when Borland must be getting ready for another
- TP release. With that in mind, I've put together an update to my bug
- list. If any beta testers out there read this, check for these and see
- how well Borland listens to bug reports.
-
- The list is very abbreviated; if any of the items are too obscure, ask and
- I'll expand on them.
-
- I'd appreciate it if anyone sent me their own bug list; I'll publicize
- it on Usenet, Fidonet and Compuserve. I'd also appreciate hearing about
- patches other than the two I mention.
-
- Duncan Murdoch
-
- CIS: 71631,122
- Internet: dmurdoch@watstat.waterloo.edu
- Fidonet: DJ Murdoch at 1:163/140.3
-
-
- New additions:
-
- The IDE will give incorrect matches when doing word searches on words at the
- start of lines (e.g. "Const" matches "onst"). Fixed June 91.
-
- The compiler won't allow the optional identifier in a variant record
- to be an already defined scalar type identifer. Not fixed.
-
- The compiler gives spurious errors if you nest loops very deeply (e.g. 256
- deep).
-
-
- TP 6.0 bug list (August 16, 1991)
-
- Dangerous bugs:
-
- You can use typed constants and variables in constant
- expressions, giving garbage values. Fixed June 91.
-
- The coprocessor emulator doesn't check properly for internal
- stack overflow; it just wraps around and trashes the top of the
- stack segment. Not fixed.
-
- Succ(Seg(v)) = Seg(v) and Pred(Seg(v)) = Seg(v) ! Fixed June 91.
-
- TBufStream writes garbage to the stream sometimes. (A patch for
- this is available from Borland QA). NOT fixed!
-
- IN doesn't properly handle out of range values. (What it does is to
- demote out of range scalars to byte, ignoring any high bits.) Not fixed.
-
- Referencing fields of records in inline code sometimes makes the
- compiler go quietly insane. Not fixed.
-
-
- Other bugs:
-
- Coprocessor errors are often reported at the wrong address if the
- error occurs on the first pass through. Not fixed.
-
- GetDir returns a root directory for non-existent drives. (As documented.)
-
- Horizontal text justification to the right side doesn't work if
- the writing direction is vertical.
-
- Intr and MsDos don't always work properly in V86 mode under
- Windows 3, because they don't use the INT instruction.
-
- The TVEdit unit can't input some digits. (A patch for
- this is available.) Fixed in June 91.
-
- ^T in TVEdit sometimes deletes more than the next word.
-
- ^QF followed by ^L followed by Space deletes words in TVEdit.
-
- TProgram doesn't clean up memory properly on exit.
-
- TFileViewer's FileName field is never disposed.
-
- The IDE forgets your snow check setting if you jump to DOS and
- exit back.
-
- Writeln wipes out the status word in the coprocessor. Not fixed.
-
- You can allocate an array bigger than 65528 bytes on the heap; it
- may wrap around and trash whatever precedes it. Not fixed.
-
- The coprocessor emulator doesn't propagate NaNs the same way as
- a real coprocessor does. Not fixed.
-
- The string conversion routines sometimes print NaNs as INF.
-
- Complicated expressions involving Reals compiled $N+ will
- unnecessarily overflow the coprocessor stack (and trigger the
- dangerous error above). Not fixed.
-
- The $G+ option makes the inline assembler use inline floating
- point code, rather than the CD forms that allow emulation. Fixed in June 91.
-
- Graph3.Plot leaves a word on the stack; if you call it
- repeatedly, you may get a stack overflow; if you call it from a
- routine that doesn't have any locals, you're dead. Fixed in June 91.
-
- Some weird problems with F7 Trace; sometimes it just refuses to
- do it.
-
- There are certain illegal Extended encodings that crash the
- debugger in TURBO. Not fixed.
-
- Range checking shouldn't apply to the limits in a for loop.
-
- Method arguments shouldn't be at the same scoping level as method
- names.
-
- The compiler exports private identifiers in .TPU files (though
- you can't use them).
-
- (And for free, a TD 2.01 bug:)
-
- If the condition for a conditional breakpoint is a little too
- long, the popup window gets messed up; if it's really too long,
- TD dies.